{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cc23f8c3",
   "metadata": {},
   "source": [
    "# Managing Clustered Networks\n",
    "\n",
    "This tutorial will cover the common issue of a network that is \"clustered\", meaning that some pores are not connected the main body of the network. This is fairly common when extracting networks from tomogram, but can occur when getting creative with networks like stitching two together. A clustered network causes problems for the numerical solvers because it leads to \"singular\" matrices (i.e. they cannot be solved). Below we will explain what this means, and how to fix it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "7ba1bfe5",
   "metadata": {},
   "outputs": [],
   "source": [
    "import openpnm as op\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "7ad276ba",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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eXl5smvXLl3Lqz5y8NChQwJAMjIyPB+TuPLKK0VEpKqqSiZNmiSZmZkycOBA2bhxo/kFnGM04/Lychk6dKgMGTJEBg8eLNOmTZMvv/xS19hWZVxXVyd5eXkyePBgycnJkQkTJsjOnTvNL0D05ztnzhxJTU2VTp06SY8ePaR///4iYmw+h+Po1wMHDsjw4cM9WRYWFnoaX6jPwWDpybitfEOZy6ozDpSvGc8/PfRkbPZrm9OO4o4SCeJNuQ5ARNvDePQokJSkHSDQOQw78F0uoHt37diglBTtbUinYsZqMV/1mLF6zNg8jvmYVVQUMHq0drm2Fli7NjzjrlnjPXB31KjwjGkVZqwW81WPGavHjM3jmAYNALNney8XF4dnTN9x5swJz5hWYsZqMV/1mLF6zNgkVu9jNxPPoKIeM1aL+arHjNVjxuZw1F/Q0dHA/fd7/3/rrUB9feD7h6K+Xlt/i/vu08Z3OmasFvNVjxmrx4xNYvUWgtlcLpGCAu/W1OzZ2pe3m8ntFrntNu8Yo0Y5Z4stGMxYLearHjNWjxmHznENWkRkzx6RuDjvg7ZwoXkTw+0WWbDAu+74eG28SMOM1WK+6jFj9ZhxaBzZoEVESkq8D1zL1ltdXWjrrKvz31oDtHEiFTNWi/mqx4zVY8bGObZBi4gUFfk/gBkZ2sEERmzerC3vu76iInPr7YiYsVrMVz1mrB4zNsbRDVpE26qKj/d/MCdMEFm5sv0TiYuINDVp95swwX/5+Hhnbq0ZxYzVYr7qMWP1mLF+jvkmsfbs3QvMmgVs2+Z/fVKSdv7QvDztNGWxsdqXrZeXa+cS3b699dkDCwqAZcuArKxwVd8xMGO1mK96zFg9ZqyT1VsI4eJyiRQX+382T89PZqa2vMtl9W9iX8xYLearHjNWjxkHLyL+gvbldgOlpcDSpcDWrUBVVeD7pqRoXxk3Zw5QWOigz9YpxozVYr7qMWP1mPGFRVyDPt+RI9ruk+pqbZdKbKz2het5eUCvXlZX5wzMWC3mqx4zVo8ZtxbxDZqIiMiOImRHARERUcfCBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZENs0ERERDbEBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZENs0ERERDbEBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZENs0ERERDbEBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZENs0ERERDbEBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZENs0ERERDbEBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZENs0ERERDbEBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZENs0ERERDbEBk1ERGRDbNBEREQ2xAZNRERkQ2zQRERENsQGTUREZEP/H33KhiTZCUrdAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pn = op.network.Demo(shape=[5, 5 ,1])\n",
    "ax = op.visualization.plot_tutorial(pn, font_size=8)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "83993317",
   "metadata": {},
   "source": [
    "## Creating a Clustered Network\n",
    "\n",
    "Now that we've created a network, lets `trim` some throats to create clusters of isolated pores:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "5077113b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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u3btkJycDACIi4vDsGHDAABpaWkIDw/ZA5C6qqurc/v///iP/0BkZKTbX9KhKmRnWJcuXfD222/Dbrc7brPb7XjrrbfQmVdRISIA4eHh+Oqrr7B9+3bU1tZix44dAIBvvvkGV69eNbg6a+jXrx/+9re/ud325JNP4qc//SlKSkoMqsocQvabxA4fPoyf//zn2L17N3r06AEAqKiowNChQ/Haa6+hb9++BldIREb78MMPcd999yE8PBzvvfce5s+fj4qKClRUVGDZsmX4yU9+YnSJbd6VK1cAAFHNfM1yeXk5EhISgl2SaYRsg2505swZlJWVAQB69eqFrl27GlwREZnV1atXsW/fPvTq1QvdunUzuhzL69u3Lw4ePGh0GYYJ+QZNRETG2b9/v8f7br/9dlRUVASxGnNhgyYiIsOEh4ejd+/eaK4VlZeXo76+3oCqzCFkz+JuIj8fqKoCOncGli83uhoiMqMnngDOnwc6dgReftnoaiwhOTkZ27dvR8+ePZvc16tXLwMqMg826EZ//StQXg6E8AkJRNSKlSudrxNs0LqYOnUqjhw50myDnjx5sgEVmQcPcTdKTHT+4vFr/IioOXydoCDiX9BERGQep08DV68C7doBIX6mfMh+UQkREZnQ0KFAz57af0McGzQREZEJsUETERGZEBs0ERGRCbFBExERmRAbNBERkQmxQRMREZkQGzQREZEJsUETERGZEBs0ERGRCbFBExERmRAbNBERkQmxQRMREZkQGzQREZEJsUETERGZEBs0ERGRCUUYXYCRRICTJ4E9e4DTtXejHrWIrI1Ft/edlyQNCzO6yrbNLePTQH09EBmpXYedGQeO+arH1wn1mHHzwkREjC4imOx2oLgYWL4c+OQT4NQpz4/t3h0YOxbIzwcmTADCebzBK8xYLearHjNWjxl7QUKEzSZSUCCSliai7a/59i8tTVvfZjP6JzEvZqwW81WPGavHjL0XEn9BHzoEzJoF7NjhfntcHDBsGJCVBaSmaocG6+uBkhJg927g88+B6mr3dbKzgRUrgPT0YFXfNjBjtZivesxYPWbsI6P3EFQrLBSJjnbfA8vLE1mzRqShoeV1Gxq0x+Xlua8fHa1tlzTMWC3mqx4zVo8Z+87SDXrpUvcnMzVVZNs2/7a1bZtISor79pYu1bfetogZq8V81WPG6jFj/1i2QRcWuj+B+fkiNTWBbbOmRtuO63atvPfWGmasFvNVjxmrx4z9Z8kGffCg+6GUefNE7HZ9tm23a9tr3HZMjDZeqGHGajFf9Zixesw4MJZr0DabSHa2+96aXhOikd3uvveWnR0aZxQ2YsZqMV/1mLF6zDhwlmvQBQXu73MEeijFk5oa9/dBCgrUjGNGzFgt5qseM1aPGQfOUg366lX3z9b5exKCt7ZudY6Vnq6Nb3XMWC3mqx4zVo8Z68NSDfqjj5xPUl5ecMbMzXWOuXFjcMY0EjNWi/mqx4zVY8b6sNQXpi1f7lx+6KHgjOk6zrJlwRnTSMxYLearHjNWjxnrxOg9BL3Y7SLdu2t7T3FxrX/w3dXBgwdl1KhRkp6eLsOGDZMvv/zS63UbGrTxAJH4eD8Kb0MCyTg5OVn69u0rmZmZkpmZKe+9957X6wYj40ceeUSSk5MFgOzdu9dx+1//+lfJysqSgQMHyq233ir79u1TU4D4nq+nmn2dz5zDzfOUrz9zORgZ19XVybRp0yQ9PV0GDRokEyZMkEOHDomIyIgRIxz1ZmRkCAD54osvlNThS8Yt1Xzq1Cm5/fbbJS0tTTIyMmRbK8fJrTiPLdOgT5xwHt6YMMG3dcePHy8rVqwQEZHVq1fLsGHDfFrf9dttyst9G7stCSTj5ORktxc5X6nOeNu2bVJWVuZW57lz56RTp06OBvfxxx9LRkaG/oNf42u+zdUs4t985hxuylO+/s5l1RnX1dXJBx98IPZrp0q/+uqrkpOT0+Rxq1evlgEDBuhfwDW+ZNxSzbNmzZJnn31WREQ+++wzSUhIkPr6+ha3Z7V5bJlD3Hv2OJezsrxf7/Tp0/j8889x7733AgDuvPNOlJWV4fDhw15vw3W83bu9H7ut8TdjPajOeNy4cUhMTHS7raSkBJ07d0ZGRgYAYOzYsTh+/Dj2uAahI1/zba5mf+cz53BTzeUbCNUZR0dHY9KkSQi7dl3GkSNHorS0tMnjXn/9dfzsZz/Tv4BrfMm4pZpXrVqFBx98EAAwfPhw9OzZE9u2bWtxe1abx5a5HvTp087l1FTv1ysrK0OPHj0QEaFFERYWhqSkJBw/fhxpaWlebcN1vDNnvB+7rfE340YzZsyAiGDEiBFYuHAhunbt6vW6bhnPeAKIXel7AQAQH699874X0tPTUVVVhU8//RSjR4/Ghg0b8N1336G0tBRDhw5tusKAAU2/0d8Hp2vvBrAIgH/5Av7PZ85h3/gzl3WbwwDw0kvAXXcB7dt7fMiSJUswbdo0t9vKysqwbds2vP32282vtHEj8MAD/teFwOZxY81VVVVoaGhAfHy8477evXvj+PHjLa5vtXlsmQZdX+9cjowM7thRUc7lK1eCO3YwBZLxxx9/jKSkJDQ0NOCZZ57BzJkz8eGHH3q9vlvG1ZeA6nLfCmgk4vVDb7rpJhQVFWHevHmoqanBqFGj0L9/f0fza6KiAjh3zr+6ANSj1rHMOayGHq8T/s5l3eYwANTWtnj3ggULcPjwYWzatMnt9jfffBNTpkxBly5dml/x8mWgPIC64P88dq25rq7Or7GtNo8t06BdJ4LrL2FrevXqhYqKCthsNkREREBEcPz4cSQlJXm9DdeJ4DpBrMbfjAE48mzfvj0effRR9O3b16f13TKO6wDEJvhWQCOXPXJvjB8/HuPHj79WwxXEx8ejf//+zT+4Rw8gJsa/ugBE1sYC1dqyr/k28nc+cw57z9+5rNscBoDYWI93LVq0CGvXrkVxcTE6dOjguF1EsGLFCvzud7/zvN3oaCAhgLrg3zy+vuYOHTogIiIClZWVjr+iS0tLQ24eW6ZBd+vmXC4p8WW9bhg6dCjeeecd3H///VizZg0SExO9Prx9/Xg+HLVtc/zNuLa2Fg0NDYiLiwMAvPvuuxgyZIhPY7tlXPgy8MOXfVrfXxUVFejRowcA4Pnnn0dubq7nufHllwGN1e19AFO1ZV/ydduGn/OZc9g7gczlYMzhxYsX491330VxcbGjxkabN2+GzWbDxIkTPW/g+98HTpwIqAZf57Gnmn/84x/jtddew3PPPYddu3ahvLwcOTk5LW7LcvPY0FPUdBTIGcbffPONjBw5UtLT0yUrK0v279/v0/pWO3PQE38zLikpkcGDB8vAgQNlwIABMnXqVDl69KhPY6vOeM6cOZKQkCDt2rWTbt26SWpqqoiIzJ49W26++WZJTU2Ve++9V86fP6//4Nf4mq+nmv2Zz5zDTTWXbyBzWXXGZWVlAkBSUlIcH6kaMWKE4/5//dd/lV//+tf6D3wdXzJuqebKykqZOHGipKWlSf/+/WXz5s2tjm21eRwm4sObciYmoh1hPHUKiIvTThDw9Fahnmw2bU+tulo7elpRoX5MozBjtZivesxYPWasH8t8zCosDBg7VluurgY2bAjOuOvXO0/cHTMmOGMahRmrxXzVY8bqMWP9WKZBA0B+vnO5oCA4Y7qOM2dOcMY0EjNWi/mqx4zVY8Y6MfoYu554BRX1mLFazFc9ZqweM9aHpf6CDg8HHn/c+f8PPNDqxwX9Vlvr/nn+xx7Txrc6ZqwW81WPGavHjHVi9B6C3mw2kexs595Ufr725e16sttFZs92jjFmjHX22LzBjNVivuoxY/WYceAs16BFRA4eFImOdj5p8+bpNzHsdpGnn3ZuOyZGGy/UMGO1mK96zFg9ZhwYSzZoEZHCQucT17j3VlMT2DZratz31gBtnFDFjNVivuoxY/WYsf8s26BFRJYudX8CU1K0kwn8sXWrtr7r9pYu1bfetogZq8V81WPG6jFj/1i6QYtoe1UxMe5PZm6uSFFRyxcSFxGpr9cel5vrvn5MjDX31vzFjNVivuoxY/WYse8s801iLTl0CJg1C9ixw/32uDjt+qFZWdplyqKitC9bLynRriW6e3fTqwdmZwMrVgDp6cGqvm1gxmoxX/WYsXrM2EdG7yEEi80mUlDg/tk8X/6lpWnr22xG/yTmxYzVYr7qMWP1mLH3QuIvaFd2O7BpE7BsGbB9O1BZ6fmx8fHaV8bNmQPk5Vnos3WKMWO1mK96zFg9Zty6kGvQ1zt5Ujt8cuaMdkglKkr7wvWsLKBnT6OrswZmrBbzVY8Zq8eMmwr5Bk1ERGRGIXKggIiIqG1hgyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMiE2aCIiIhNigyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMiE2aCIiIhNigyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMiE2aCIiIhNigyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMiE2aCIiIhNigyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMiE2aCIiIhNigyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMiE2aCIiIhNigyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMiE2aCIiIhNigyYiIjIhNmgiIiITYoMmIiIyITZoIiIiE2KDJiIiMqH/DzSlPXZyjGkUAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "op.topotools.trim(network=pn, throats=[4, 5, 8, 9, 20, 21, 30, 31])\n",
    "ax = op.visualization.plot_tutorial(pn, font_size=8)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a5a96ab0",
   "metadata": {},
   "source": [
    "Now we can have 3 total \"clusters\", two small clusters at the bottom plus one large cluster which constitutes the rest of the network. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2f50a60b",
   "metadata": {},
   "source": [
    "## Illustrating the Problem\n",
    "Let's first see the problem this creates and why. This requires running (or attempting to run) a transport simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "9f42aa0a",
   "metadata": {},
   "outputs": [],
   "source": [
    "w = op.phase.Water(network=pn)\n",
    "w.add_model(propname='throat.hydraulic_conductance',\n",
    "            model=op.models.physics.hydraulic_conductance.generic_hydraulic)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "a931d66b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your network is clustered, making Ax = b ill-conditioned\n"
     ]
    }
   ],
   "source": [
    "flow = op.algorithms.StokesFlow(network=pn, phase=w)\n",
    "flow.set_value_BC(pores=pn.pores('left'), values=200_000)\n",
    "flow.set_value_BC(pores=pn.pores('right'), values=100_000)\n",
    "try:\n",
    "    flow.run()\n",
    "except Exception as e:\n",
    "    print(e)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c1ec44ef",
   "metadata": {},
   "source": [
    "As we can see above, attempting to run `flow` resulted in an Exception with a message about the matrix being singular. Let's see how a clustered network creates this problem. Let's print the A matrix as an image:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "2d8f0c27",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbsAAAGyCAYAAAB9ZmrWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAbFUlEQVR4nO3df2xT573H8Y+hYKDNjwYITkrCAi3QtYVpDLKIjtERAVmF+HU32vUPqBAIFqqVrGViKgTYJCYmMdSJwf7YYFOBblwtoCKViR9NEG3CBANFaFsuSbOllAQ2dmNDKCaF5/7Ri+81JMCxndr5+v2SHgkfn+d8n3N0pA/Y5nx9zjknAAAM65PsBQAA0NMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeZ7CbuPGjZo4caIyMjKUm5urOXPmqKGhIWqfqVOnyufzRY1ly5YldNEAAHjhKexqampUXl6uuro6HTp0SJ2dnZo+fbo6Ojqi9luyZIlaW1sjY9OmTQldNAAAXjzkZeeDBw9Gvd65c6dyc3N16tQpTZkyJbJ90KBBCgQCiVkhAABx8hR2dwoGg5KknJycqO27du3SW2+9pUAgoFmzZmnNmjUaNGhQl8cIh8MKh8OR17du3dK///1vDR48WD6fL57lAQB6Meecrly5ovz8fPXpE+dPTFyMbt686Z5//nk3efLkqO2//OUv3cGDB119fb1766233GOPPebmzp3b7XEqKyudJAaDwWAwuhwfffRRrFEV4XMutn52y5cv17vvvqvjx49r+PDh3e539OhRTZs2TY2NjRo1atRd79/5L7tgMKjCwkI9q2/qIfWLZWmq1n5N1ezPfS61qU1t+7X/+79GxjT30dEfpu15xzo3dPWWRnz572pvb1dWVlZMx7gtpo8xV6xYoQMHDujYsWP3DDpJKi4ulqRuw87v98vv93exsH56yBdb2MkpOXOpTW1qm6+dmdE35unpet7xzJWUkK+0PIWdc06vvPKKqqqqVF1draKiovvOOXPmjCQpLy8vpgUCABAvT2FXXl6u3bt3a//+/crIyFBbW5skKSsrSwMHDlRTU5N2796tb37zmxo8eLDq6+u1cuVKTZkyRePGjeuREwAA4H48hd22bdskffYfx/+/HTt2aNGiRerfv78OHz6sLVu2qKOjQwUFBZo/f77eeOONhC0YAACvPH+MeS8FBQWqqamJa0EAACQaz8YEAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJgXc4ufnhIKheJu5QAAsCMYDCozMzOuY8TVqbwnTdXsmFtSHHb/qVLff3zuc6lNbWqnfu2brU/EXLtv3rm0Pe9Y58czN3Tlph4d/WFMc+/Ex5gAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwjxY/AICURoufbvTm9iPUpja17z8/nnYz6XreyWzxE+t5f+o6Va39Mc29Ex9jAgDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADCPsAMAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDxa/AAAUhotfrqR7DYc1KY2te89N952M+l63sls8ZOMa06LHwAAPCDsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB797AAAKY1+dt3ozX2+qE3t3lI7nt5qvfm8e2s/u954zelnBwCAB4QdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeZ7CbuPGjZo4caIyMjKUm5urOXPmqKGhIWqf69evq7y8XIMHD9Yjjzyi+fPn6+LFiwldNAAAXngKu5qaGpWXl6uurk6HDh1SZ2enpk+fro6Ojsg+K1eu1DvvvKO9e/eqpqZGFy5c0Lx58xK+cAAAHpSnZ2MePHgw6vXOnTuVm5urU6dOacqUKQoGg/rVr36l3bt36xvf+IYkaceOHXryySdVV1enr371q4lbOQAADyiu7+yCwaAkKScnR5J06tQpdXZ2qrS0NLLP2LFjVVhYqNra2i6PEQ6HFQqFogYAAAnlYnTz5k33/PPPu8mTJ0e27dq1y/Xv3/+ufSdOnOhWrVrV5XEqKyudJAaDwWAwuhzBYDDWqIqIucVPeXm5zp49q+PHj8d6CEnS6tWrVVFREXkdCoVUUFBAix9qU7uHa8fbbiZdzzvd2uwkonas1yx05aYeHf1hTHPvFFPYrVixQgcOHNCxY8c0fPjwyPZAIKAbN26ovb1d2dnZke0XL15UIBDo8lh+v19+vz+WZQAA8EA8fWfnnNOKFStUVVWlo0ePqqioKOr9CRMmqF+/fjpy5EhkW0NDg1paWlRSUpKYFQMA4JGnf9mVl5dr9+7d2r9/vzIyMtTW1iZJysrK0sCBA5WVlaXFixeroqJCOTk5yszM1CuvvKKSkhJ+iQkASBpPYbdt2zZJ0tSpU6O279ixQ4sWLZIk/exnP1OfPn00f/58hcNhzZgxQ7/4xS8SslgAAGLhKeycc/fdZ8CAAdq6dau2bt0a86IAAEgkno0JADCPsAMAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADDP5x7ksSifo1AopKysrGQvAwCQIoLBoDIzM+M6Rsz97Hoa/eyoTe37z0/X3mrxnDf97GKbn4zz/tR1qlr7Y5p7Jz7GBACYR9gBAMwj7AAA5hF2AADzCDsAgHmEHQDAPMIOAGAeYQcAMI+wAwCYR9gBAMwj7AAA5hF2AADzCDsAgHm0+AEApDRa/HQj2a0wqE3tB50bb7uZdD3vZLb4SddrnozzpsUPAAAeEHYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB4tfgAAKY0WP93ozS1fqE3t3lI7mW124qmdrte8N543LX4AAPCAsAMAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADCPsAMAmEfYAQDMI+wAAOYRdgAA8wg7AIB59LMDAKQ0+tl1I9k9p6hN7XSoncx+dr31mqfredPPDgCAzwFhBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYJ7nsDt27JhmzZql/Px8+Xw+7du3L+r9RYsWyefzRY2ZM2cmar0AAHjmOew6Ojo0fvx4bd26tdt9Zs6cqdbW1sjYs2dPXIsEACAenp+NWVZWprKysnvu4/f7FQgEYl4UAACJ1CPf2VVXVys3N1djxozR8uXLdfny5W73DYfDCoVCUQMAgIRycZDkqqqqorbt2bPH7d+/39XX17uqqir35JNPuokTJ7pPP/20y2NUVlY6SQwGg8FgdDmCwWA8UeWccy6ufnY+n09VVVWaM2dOt/t8+OGHGjVqlA4fPqxp06bd9X44HFY4HI68DoVCKigooMUPtT3Nj6fdTLqeN+1mYpufrvdaMlv8JKKfXY//14ORI0dqyJAhamxs7PJ9v9+vzMzMqAEAQCL1eNidP39ely9fVl5eXk+XAgCgS55/jXn16tWof6U1NzfrzJkzysnJUU5OjtavX6/58+crEAioqalJq1at0uOPP64ZM2YkdOEAADwoz2F38uRJPffcc5HXFRUVkqSFCxdq27Ztqq+v129+8xu1t7crPz9f06dP149+9CP5/f7ErRoAAA88h93UqVN1r9+0/PGPf4xrQQAAJBrPxgQAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADCPsAMAmBdXi5+eEAqFlJWVlexlAABSRCJa/Hh+XNjnhX526VU7XXurxXve9LPzPjddz7s31r7dzy4R+BgTAGAeYQcAMI+wAwCYR9gBAMwj7AAA5hF2AADzCDsAgHmEHQDAPMIOAGAeYQcAMI+wAwCYR9gBAMwj7AAA5tHiBwCQ0mjx0410bIWRCrXjaTfTm8+7t7b46c3XPF3PO91q0+IHAAAPCDsAgHmEHQDAPMIOAGAeYQcAMI+wAwCYR9gBAMwj7AAA5hF2AADzCDsAgHmEHQDAPMIOAGAeYQcAMI8WPwCAlEaLn26kYyuMRNSOt91Mbz1v2s1Qm9qpWZsWPwAAeEDYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADCPsAMAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDz62QEAUhr97LqRjn2fbs+nt5r3ufTxoza1U7M2/ewAAPCAsAMAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADDPc9gdO3ZMs2bNUn5+vnw+n/bt2xf1vnNOa9euVV5engYOHKjS0lKdO3cuUesFAMAzz2HX0dGh8ePHa+vWrV2+v2nTJr355pvavn27Tpw4oYcfflgzZszQ9evX414sAACx8PxszLKyMpWVlXX5nnNOW7Zs0RtvvKHZs2dLkn77299q2LBh2rdvn1544YX4VgsAQAwS+p1dc3Oz2traVFpaGtmWlZWl4uJi1dbWdjknHA4rFApFDQAAEsrFQZKrqqqKvH7//fedJHfhwoWo/b71rW+5b3/7210eo7Ky0kliMBgMBqPLEQwG44kq55xzSW/xs3r1alVUVEReh0IhFRQUpG2Ln3RtNxPvedPayPvcdL3XqN17aqdsi59AICBJunjxYtT2ixcvRt67k9/vV2ZmZtQAACCREhp2RUVFCgQCOnLkSGRbKBTSiRMnVFJSkshSAAA8MM8fY169elWNjY2R183NzTpz5oxycnJUWFioV199VT/+8Y/1xBNPqKioSGvWrFF+fr7mzJmTyHUDAPDAPIfdyZMn9dxzz0Ve3/6+beHChdq5c6dWrVqljo4OLV26VO3t7Xr22Wd18OBBDRgwIHGrBgDAA89hN3XqVH32Q8yu+Xw+bdiwQRs2bIhrYQAAJArPxgQAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADCPsAMAmOdz93ocShKEQiFlZWUlexkAgBQRDAbj7oiT9H523enN/ezStbdaPOdNP7vY5qfreVM7PWqnbD87AABSEWEHADCPsAMAmEfYAQDMI+wAAOYRdgAA8wg7AIB5hB0AwDzCDgBgHmEHADCPsAMAmEfYAQDMI+wAAObR4gcAkNJo8dONeNtRxNtuJt3acNyen8wWP731mqfreVOb2g+CFj8AAHhA2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAebT4AQCkNFr8dCMdW2EkojbtZmKbH09ro9583tSmdk/PpcUPAAAeEHYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj352AICURj+7bqRj36fb8+mt5n0uffyoTe3UrE0/OwAAPCDsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzEt42K1bt04+ny9qjB07NtFlAAB4YD3yuLCnnnpKhw8f/r8iD6XsU8kAAGmgR1LooYceUiAQ6IlDAwDgWY98Z3fu3Dnl5+dr5MiReumll9TS0tLtvuFwWKFQKGoAAJBICW/x8+677+rq1asaM2aMWltbtX79en388cc6e/asMjIy7tp/3bp1Wr9+fSKXAAAwJBEtfnq8n117e7tGjBihzZs3a/HixXe9Hw6HFQ6HI69DoZAKCgp6dYufeNrs0G4mtvm0NqI2te3Vvt3ip1f0s8vOztbo0aPV2NjY5ft+v19+v7+nlwEASGM9/v/srl69qqamJuXl5fV0KQAAupTwsHvttddUU1Ojv//97/rggw80d+5c9e3bVy+++GKiSwEA8EAS/jHm+fPn9eKLL+ry5csaOnSonn32WdXV1Wno0KGJLgUAwANJeNi9/fbbiT4kAABx4dmYAADzCDsAgHmEHQDAPMIOAGAeYQcAMI+wAwCYR9gBAMwj7AAA5hF2AADzerzFj1ehUEhZWVnJXgYAIEX0ihY/sUpmP7t4e8rRz8773HQ9b2pTm9rdu93PLhH4GBMAYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADm0eIHAJDSaPHTjXhaxiSizU48tXtjG47b89P1vKlNbWr3zFxa/AAA4AFhBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADm0eIHAJDSTLf4+e//GqnMjL4xzY23zU68LX7SrQ0HtalNbWr3xFxa/AAA4AFhBwAwj7ADAJhH2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJhH2AEAzCPsAADmEXYAAPPoZwcASGn0s+tGvP3semPfJ2pTm9rUtlabfnYAAHhA2AEAzCPsAADmEXYAAPMIOwCAeYQdAMA8wg4AYB5hBwAwj7ADAJjXY2G3detWfeELX9CAAQNUXFysP/3pTz1VCgCAe+qRsPvd736niooKVVZW6s9//rPGjx+vGTNm6NKlSz1RDgCAe+qRsNu8ebOWLFmil19+WV/84he1fft2DRo0SL/+9a97ohwAAPeU8AdB37hxQ6dOndLq1asj2/r06aPS0lLV1tbetX84HFY4HI68DgaDkqTQ1VtxrSN05WbMcz91nXHVjmc+talNbWpT+3/n6bN5CWnO4xLs448/dpLcBx98ELX99ddfd5MmTbpr/8rKSieJwWAwGIwuR1NTU9zZlPQWP6tXr1ZFRUXkdXt7u0aMGKGWlhb62nkQCoVUUFCgjz76KO6+T+mCaxYbrpt3XLPYBINBFRYWKicnJ+5jJTzshgwZor59++rixYtR2y9evKhAIHDX/n6/X36//67tWVlZ3BQxyMzM5Lp5xDWLDdfNO65ZbPr0if/nJQn/gUr//v01YcIEHTlyJLLt1q1bOnLkiEpKShJdDgCA++qRjzErKiq0cOFCfeUrX9GkSZO0ZcsWdXR06OWXX+6JcgAA3FOPhN2CBQv0z3/+U2vXrlVbW5u+9KUv6eDBgxo2bNh95/r9flVWVnb50Sa6x3XzjmsWG66bd1yz2CTyuvmcS8RvOgEASF08GxMAYB5hBwAwj7ADAJhH2AEAzEu5sKM1kDfr1q2Tz+eLGmPHjk32slLKsWPHNGvWLOXn58vn82nfvn1R7zvntHbtWuXl5WngwIEqLS3VuXPnkrPYFHK/67Zo0aK77r2ZM2cmZ7EpYuPGjZo4caIyMjKUm5urOXPmqKGhIWqf69evq7y8XIMHD9Yjjzyi+fPn3/UQjnTyINds6tSpd91ry5Yt81QnpcKO1kCxeeqpp9Ta2hoZx48fT/aSUkpHR4fGjx+vrVu3dvn+pk2b9Oabb2r79u06ceKEHn74Yc2YMUPXr1//nFeaWu533SRp5syZUffenj17PscVpp6amhqVl5errq5Ohw4dUmdnp6ZPn66Ojo7IPitXrtQ777yjvXv3qqamRhcuXNC8efOSuOrkepBrJklLliyJutc2bdrkrVDcT9dMoEmTJrny8vLI65s3b7r8/Hy3cePGJK4qtVVWVrrx48cnexm9hiRXVVUVeX3r1i0XCATcT3/608i29vZ25/f73Z49e5KwwtR053VzzrmFCxe62bNnJ2U9vcWlS5ecJFdTU+Oc++ze6tevn9u7d29kn7/+9a9OkqutrU3WMlPKndfMOee+/vWvu+9973txHTdl/mV3uzVQaWlpZNu9WgPh/5w7d075+fkaOXKkXnrpJbW0tCR7Sb1Gc3Oz2traou67rKwsFRcXc989gOrqauXm5mrMmDFavny5Ll++nOwlpZTbLctuP8j41KlT6uzsjLrfxo4dq8LCQu63/3XnNbtt165dGjJkiJ5++mmtXr1a165d83TcpHc9uO1f//qXbt68eddTVoYNG6a//e1vSVpV6isuLtbOnTs1ZswYtba2av369fra176ms2fPKiMjI9nLS3ltbW2S1OV9d/s9dG3mzJmaN2+eioqK1NTUpB/+8IcqKytTbW2t+vbtm+zlJd2tW7f06quvavLkyXr66aclfXa/9e/fX9nZ2VH7cr99pqtrJknf+c53NGLECOXn56u+vl4/+MEP1NDQoD/84Q8PfOyUCTvEpqysLPLncePGqbi4WCNGjNDvf/97LV68OIkrg3UvvPBC5M/PPPOMxo0bp1GjRqm6ulrTpk1L4spSQ3l5uc6ePct36B50d82WLl0a+fMzzzyjvLw8TZs2TU1NTRo1atQDHTtlPsb02hoIXcvOztbo0aPV2NiY7KX0CrfvLe67+I0cOVJDhgzh3pO0YsUKHThwQO+9956GDx8e2R4IBHTjxg21t7dH7c/91v0160pxcbEkebrXUibsaA2UGFevXlVTU5Py8vKSvZReoaioSIFAIOq+C4VCOnHiBPedR+fPn9fly5fT+t5zzmnFihWqqqrS0aNHVVRUFPX+hAkT1K9fv6j7raGhQS0tLWl7v93vmnXlzJkzkuTtXovr5y0J9vbbbzu/3+927tzp/vKXv7ilS5e67Oxs19bWluylpazvf//7rrq62jU3N7v333/flZaWuiFDhrhLly4le2kp48qVK+706dPu9OnTTpLbvHmzO336tPvHP/7hnHPuJz/5icvOznb79+939fX1bvbs2a6oqMh98sknSV55ct3rul25csW99tprrra21jU3N7vDhw+7L3/5y+6JJ55w169fT/bSk2b58uUuKyvLVVdXu9bW1si4du1aZJ9ly5a5wsJCd/ToUXfy5ElXUlLiSkpKkrjq5LrfNWtsbHQbNmxwJ0+edM3NzW7//v1u5MiRbsqUKZ7qpFTYOefcz3/+c1dYWOj69+/vJk2a5Orq6pK9pJS2YMECl5eX5/r37+8ee+wxt2DBAtfY2JjsZaWU9957z0m6ayxcuNA599l/P1izZo0bNmyY8/v9btq0aa6hoSG5i04B97pu165dc9OnT3dDhw51/fr1cyNGjHBLlixJ+7+YdnW9JLkdO3ZE9vnkk0/cd7/7Xffoo4+6QYMGublz57rW1tbkLTrJ7nfNWlpa3JQpU1xOTo7z+/3u8ccfd6+//roLBoOe6tDiBwBgXsp8ZwcAQE8h7AAA5hF2AADzCDsAgHmEHQDAPMIOAGAeYQcAMI+wAwCYR9gBAMwj7AAA5hF2AADzCDsAgHn/A6x7VYPxQjEtAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fix, ax = plt.subplots(figsize=[5, 5])\n",
    "A = np.array(flow.A.todense() != 0)\n",
    "ax.pcolormesh(A, edgecolors='k', linewidth=0.5);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fcf84750",
   "metadata": {},
   "source": [
    "Referring to the network visualization above we can see that pores 5 and 10 are connected to each other, but not to any other pores. Looking at the A matrix above we can this reflected in the pattern. We can see that on row 5 there is an entry in the diagonal (5, 5) and a second entry at column 10 (5, 10). Now looking at row 10 we see an entry on the diagonal (10, 10) and a entry at column 5 (10, 5). These off-diagonal entries represent the conductance values between pores 5 and 10 (and between 10 and 5). The key point to note is that NO OTHER entries are present on either row. This means that the mass balance equations for pores 5 and 10 are not coupled to the rest of the equations. Another way to say is that pores 5 and 10 form their own independent matrix which can be solved in isolation since they don't exchange mass with any of the other pores...however, we can't solve this 'mini-system' because we have not specified any boundary conditions for it.  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7a175a25",
   "metadata": {},
   "source": [
    "## Fixing Clustered Networks\n",
    "\n",
    "This is easy to see by eye, but we need to tell OpenPNM to find them so we can begin to fix the problem. In version 3 we added many new pore-scale models to the ``models.network`` libary, among them are `cluster_number` and `cluster_size`.  Let's add these two models to the network and see what we get:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "9fd43314",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "══════════════════════════════════════════════════════════════════════════════\n",
      "net : <openpnm.network.Demo at 0x1b2c0709ef0>\n",
      "――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――\n",
      "  #  Properties                                                   Valid Values\n",
      "――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――\n",
      "  2  pore.coords                                                       25 / 25\n",
      "  3  throat.conns                                                      32 / 32\n",
      "  4  pore.coordination_number                                          25 / 25\n",
      "  5  pore.max_size                                                     25 / 25\n",
      "  6  throat.spacing                                                    32 / 32\n",
      "  7  pore.seed                                                         25 / 25\n",
      "  8  pore.diameter                                                     25 / 25\n",
      "  9  throat.max_size                                                   32 / 32\n",
      " 10  throat.diameter                                                   32 / 32\n",
      " 11  throat.cross_sectional_area                                       32 / 32\n",
      " 12  throat.hydraulic_size_factors                                     32 / 32\n",
      " 13  throat.diffusive_size_factors                                     32 / 32\n",
      " 14  throat.lens_volume                                                32 / 32\n",
      " 15  throat.length                                                     32 / 32\n",
      " 16  throat.total_volume                                               32 / 32\n",
      " 17  throat.volume                                                     32 / 32\n",
      " 18  pore.volume                                                       25 / 25\n",
      " 19  pore.cluster_number                                               25 / 25\n",
      " 20  pore.cluster_size                                                 25 / 25\n",
      "――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――\n",
      "  #  Labels                                                 Assigned Locations\n",
      "――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――\n",
      "  2  pore.surface                                                           16\n",
      "  3  throat.surface                                                         14\n",
      "  4  pore.left                                                               5\n",
      "  5  pore.right                                                              5\n",
      "  6  pore.front                                                              5\n",
      "  7  pore.back                                                               5\n",
      "――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――\n"
     ]
    }
   ],
   "source": [
    "pn.add_model(propname='pore.cluster_number',\n",
    "             model=op.models.network.cluster_number)\n",
    "pn.add_model(propname='pore.cluster_size',\n",
    "             model=op.models.network.cluster_size)\n",
    "print(pn)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "caae6fe7",
   "metadata": {},
   "source": [
    "We can see that cluster number and size have been added to the list of properties.  Let's inspect them:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "800998f9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0., 0., 0., 0., 0., 1., 2., 0., 0., 0., 1., 2., 0., 0., 0., 0., 0.,\n",
       "       0., 0., 0., 0., 0., 0., 0., 0.])"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pn['pore.cluster_number']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0aa0bc39",
   "metadata": {},
   "source": [
    "We can see that most pores a labeled 0, meaning they belong to cluster 0. However, there are a few with cluster numbers of 1 and  2, which we know correspond to the two small clusters in our network.  We *could* solve our current problem by trimming these pores, but let's do it the proper way. Had we not looked at the network visualization, We would not actually know that cluster 0 is the *main* cluster.  We can look at the *size* of each cluster instead:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "fa7b1ab5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([21., 21., 21., 21., 21.,  2.,  2., 21., 21., 21.,  2.,  2., 21.,\n",
       "       21., 21., 21., 21., 21., 21., 21., 21., 21., 21., 21., 21.])"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pn['pore.cluster_size']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2f929b5c",
   "metadata": {},
   "source": [
    "Now we can see that most pores belong to a large cluster of size 21, where there are a few on small clusters. Now we can clearly tell which pores should be trimmed:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "103c8bc8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Ps = pn['pore.cluster_size'] < 21\n",
    "op.topotools.trim(network=pn, pores=Ps)\n",
    "ax = op.visualization.plot_tutorial(pn, font_size=8)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5d8a8ed9",
   "metadata": {},
   "source": [
    "Now we can see only a single cluster.  Without even re-running the pore-scale models we can see that the pores with a cluster number other than 0 have been removed:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "8175d00d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
       "       0., 0., 0., 0.])"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pn['pore.cluster_number']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e12ce7db",
   "metadata": {},
   "source": [
    "Now we can run the `flow` algorithm without a problem, though note that we need to create a new algorithm since the previous one was created based on the number of pores and throats in the clustered network."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "77bccdf7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[200000.         200000.         200000.         200000.\n",
      " 200000.         174104.35922877 171699.02786866 175326.59446026\n",
      " 148814.66711071 164144.88530979 169904.06100996 101634.55634677\n",
      " 103828.91192167 109554.37137998 125747.64122525 134332.28799001\n",
      " 100000.         100000.         100000.         100000.\n",
      " 100000.        ]\n"
     ]
    }
   ],
   "source": [
    "flow = op.algorithms.StokesFlow(network=pn, phase=w)\n",
    "flow.set_value_BC(pores=pn.pores('left'), values=200_000)\n",
    "flow.set_value_BC(pores=pn.pores('right'), values=100_000)\n",
    "flow.run()\n",
    "print(flow.x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "bc28aba3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1b2f6fa4820>"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABG9klEQVR4nO3deXxU5cH28d8kgbAlYREICCIKQkBBgopBKygoIlWpllqXolat9UWLpdWWto+7xT7VB21RxJVWpbi0YGtVQCygBWQJWEBAEATUALIlJEACmXn/CKaGLCSYySSH39fPfHTOuQ9cTHBy5Zz7PhOKRCIRJEmSVOfFxTqAJEmSqofFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgEiIdYCaFg6H+eKLL0hKSiIUCsU6jiRJUoUikQi7d++mbdu2xMVVfE7uqCt2X3zxBe3bt491DEmSpCrZtGkT7dq1q3DMUVfskpKSgKIXJzk5OcZpJEmSKpaTk0P79u2LO0xFjrpi99Xl1+TkZIudJEmqMyozhczFE5IkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBcRRdx87xca+XbvYu2MH8YmJNG7Vivh69WIdKdgKCmD7VthfAE1bQHJKrBMFWyQCOTtg9y5o0AiatYL4+FinCrbwXgh/CYQh7hiIaxLrRIEWIUIeeRSQT30SaUxjQvixnLWRxU5RU7h/P6umTOGDP/6RTe+/X7y9flIS6TfeyGm33EKLzp1jmDCA1qyEF8fDK8/Bnrz/bj+zP1x3G5x/CST4v3212bcHpv8FXnkMPln23+1NW8Ll/w8uuQlaHRu7fEGUvxByn4A9k4CCgxvjoMG3IelWSBwAIS9GVZe97GUJmXzAPHays3h7Ck05kwx6kU4jGsUwoQ4VikQikViHqEk5OTmkpKSQnZ3tJ09E0c5163hx0CB2rF1LKD6eSGFhif1fbet39930u/vuSt1NWxUIh+F/fwXjfwfxCVB4oOT++HgoLIROafDCNGjr5yV/Y6sWw6jBsPPLoiIRCZfcH3fwjN2d4+HSm2o+X9BE8mHHjbDnRYrOSRzyd/yrbfXPgZZTIa5ZjUcMmjWs4WUmUVBcoEsKESKBBL7H9+lC1xpOd3SpSnfxxxpVu5zPPuPZvn3Z9emnAKVK3de3zb73XmaOHl2T8YLp/lFFpQ5KlzooKnUA69fAdzJg6+aayxZEaz6EW86B7B1Fzw8tdQDhwqLHQz+CKRNqNl/QRAph2xUHz9JB6VL3tW0F/4at50I4t6bSBdIa1vAif2I/+8sdEyHCfvYziRdZzaoaTKeK1Jpi99BDDxEKhbj99tvLHTNx4kRCoVCJR4MGDWoupCrlr1dfzd7t2wkfKOvNt7R//+53fDJ9epRTBdiMv8Nzj1VubOEB+HIL/Py6qEYKtMJCuPNSKMgvKm6V8fv/B5+ujG6uIMsdB/v+DpRRoEsphP3LIfsX0U4VWPvYx8sUlegIh7+oFyHCK0xmD3uiHU2VUCuK3cKFC5kwYQI9evQ47Njk5GSysrKKHxs2bKiBhKqsLcuWsXHOnEqXOoBQQgLzH6tkMVFpz4yt2kT9wgMwe1rR2TtV3dw3YfOGypc6gLg4+OsT0csUZJEw7B4LlSgY/1UIuc9BODtaqQJtKUsooKBSpe4r+9nPEjKjmEqVFfNil5uby9VXX83TTz9Ns2aHnxMRCoVITU0tfrRu3boGUqqyFo0fT1wVJ+dHDhxg7VtvscuSXnWfrIb5s/57qbWy4uPhJS8PHpG/Pv7f+XOVVXgA3nge9nh5sMry34HCI3lvyIe8F6o9TtBFiDCfeUd07AfMq1IZVHTEfHnciBEjGDJkCAMHDuSBBx447Pjc3Fw6dOhAOBwmPT2d3/72t3Tv3r3c8fn5+eTn5xc/z8nJqZbcKtuG2bMrPFsXSW0Mbcq+LcGy1e9yYocLohUtmNb9C04u/4ebvH2N2V1Yzq1ONmyGvLJ3qQLbcqFt+VcX4r7cS3hHGUU7D/jnMjjx5OhlC6Ld/4G8rkDZP7zExR0gHC5r8VUcNPgImu6KZrrA2Uc+K9gLFax0bdJmP0ltSs+928Uu8sijCd56JpZiWuwmT55MZmYmCxcurNT4Ll268Nxzz9GjRw+ys7N5+OGH6du3LytWrKBdu3ZlHjNmzBjuvffe6oytCuTv3l3uvt004cubv0OHe8pekTmDtcxgbbSiBdP5wPk3lLt79pQBzGl7XvnHL6/+SIF32/sV7u5w3yw2zC5n5/fygcXVHinYTjv4KFuHYz9mw+dtKjj+vWpPFHwVT4s6rt/nXPaXTSSV8bIXkA8Wu5iKWbHbtGkTI0eOZMaMGZVeAJGRkUFGRkbx8759+5KWlsaECRO4//77yzxm9OjRjBo1qvh5Tk4O7dt7q4doSUxKKnffbpL424QTGP73v9KSL0vtH/DQGE68wDN2VTLjH/DoPWXuWhXflUfq/5IXd15FWmEZK9ZO6g5jvVRVZTefDfllTxJfmdSVa771PC/u+i5pu1eXHvA/f4YTy7/CoDLsngB5z1LWGbuVa1tyzcgrePGxB0nrdOh7Sjw0OB+aPlgjMYNiH/k8zzPl7t+2MsTUayLkZoVIalP6smt9EqMZT5UQs2K3ePFitm7dSnp6evG2wsJC5syZw7hx48jPzyf+MBPC69WrR69evVi7tvyzPImJiSQm+hetphx/7rls//jjci/H5m4OcWDzdkJsKbkjFKJH1wGk4M1cq6TTAFh+S5m7Nie0ZU/zJNJ2rCL9wJKSO+Pj4YKB0LgGMgZNq2RYML/seY3NgFMTSUv5nPTwIYtTGjaBb58CDX3Rq2TfqfBlebfSyAP2kdZpE+mnfHHIvhA0vR2SmkYzXeBEiLCIRmxjWzkjQkDZnxzUjGY09k0l5mK2eGLAgAEsW7aMpUuXFj9OO+00rr76apYuXXrYUgdFRXDZsmW0aVPRaXjVpNNuuaVKK2IB4hISOOnb3ybluOOilCrAOnaGswZU/eOrwmG4+uboZAq67956BItVEuDiGyx1RyLxPIg/Aar68VWhBtD4mqhECrIQIc4k4/ADy9CHDD9mrBaIWbFLSkri5JNPLvFo3LgxLVq04OSTiyYXDx8+nNFfu3ntfffdx/Tp01m3bh2ZmZlcc801bNiwgRtvvDFWfwwdolX37hx/7rlVWhkbPnCAPiNHRjFVwN3w06oVjfgE6H8RdDgxepmCrM8gaHtC1cp0JAyXlX1mVYcRioOkUVTtdidx0PgmiPPThY5ED04lkcRKl7QQIepTn16kH36woi7mtzupyMaNG8nKyip+vnPnTm666SbS0tK46KKLyMnJYe7cuXTr1i2GKXWoy158kcatWlW63J3zP//DCQMGRDlVgA0YAj/6eeXGxidA67bw8HPRzRRk8fHw+79D/YaVv+3JL5+GDl2imyvImtwCDYdRubN28VAvHVLGRDtVYDWgAVdyNaGD/1Tkq/3f5yoa0rAm4ukwYn67k6+bNWtWhc/Hjh3L2LFjay6QjkhS27bcMG8eLw0ezJcffVT+Z8WGw5z34IOc/ctfxihpgPzqf6FhI/jD/UU3wz30DN5XnxV7Ujf401twTKvY5AyKE7rDhPfhp4Nhe1bRax4+5FMRQnFFxe9Xz8BFw2OTMyhCcdDiJdiRBHueo8LPik08F455DeL8YPpv4gROZDjX8RdeIp/8csfVox7f5yo60bkG06kitfqMnequlOOO48cffsgVU6fS8dxzS+xLTErirDvvZOS6dXxr9GhCIedkfGOhEIy6F2avgRtHQVJKyX1nnw/PvQH/zCw6Y6dvrnNP+Os6uPsF6Nq75L6mLeHmB+Dvmyx11SVUD1o8C62XQuMbIPT1s0MJ0PByaDkbWk6HuHLu3agqOYET+Tm/4NtcwjG0LLEvhRSGcDE/5xeWulomFIlEjqrbROfk5JCSkkJ2djbJyc6/qCn79+xh3pw19Bs8lYULbuC008u+76CqSWEhmQtz6H1bMxY/vZf0U71EEnV5u8ncmEfvGaks/l6Y9FR/bo6qyH4yF62h9xlvsHjR90nv7eKraIoQYR/7WJC5if69/8KixTfRO90fEmtKVbpLrboUq+Cq16gRTVoVXf6Lq+oKTlVdfDw0PfgRfQ0sdTWicRK0OHgfxzhLXdSF6kF884P/XT+2WY4CIUI0pCFJJBU/V+3ku48kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQqIWlPsHnroIUKhELfffnuF41599VW6du1KgwYNOOWUU3jzzTdrJqAkSVItVyuK3cKFC5kwYQI9evSocNzcuXO58sorueGGG1iyZAlDhw5l6NChLF++vIaSSpIk1V4xL3a5ublcffXVPP300zRr1qzCsY899hgXXnghd9xxB2lpadx///2kp6czbty4GkorSZJUe8W82I0YMYIhQ4YwcODAw46dN29eqXGDBg1i3rx50YonSZJUZyTE8jefPHkymZmZLFy4sFLjN2/eTOvWrUtsa926NZs3by73mPz8fPLz84uf5+TkHFlYSZKkWi5mZ+w2bdrEyJEjeemll2jQoEHUfp8xY8aQkpJS/Gjfvn3Ufi9JkqRYilmxW7x4MVu3biU9PZ2EhAQSEhKYPXs2f/jDH0hISKCwsLDUMampqWzZsqXEti1btpCamlru7zN69Giys7OLH5s2bar2P4skSVJtELNLsQMGDGDZsmUltl1//fV07dqVX/ziF8THx5c6JiMjg5kzZ5a4JcqMGTPIyMgo9/dJTEwkMTGx2nJLkiTVVjErdklJSZx88skltjVu3JgWLVoUbx8+fDjHHnssY8aMAWDkyJH069ePRx55hCFDhjB58mQWLVrEU089VeP5JUmSapuYr4qtyMaNG8nKyip+3rdvXyZNmsRTTz1Fz549ee2115g6dWqpgihJknQ0iumq2EPNmjWrwucAw4YNY9iwYTUTSJIkqQ6p1WfsJEmSVHkWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAiIh1gEUbOEDB/j4jTdY/frrLP9kD9CNBY8/Tsff3ECzjh1jHS+YNq6Fqc/CigPA72HCPfCd0+CswRAfH+t0wVOwD+a+Ch9Ohz3NofFj8O5zcOEQaNo61ukCaT/LyeMv7GIbcCI5jCWfS6hPX0KEYh0vcPaxjw9ZykY2sJocAJbxH7rRjAY0iHE6Hcpip6iIRCIsfOIJ3nvwQXKzsohLSOCzAy2BbiydOJEtz/+WToMHc+Gjj9Kic+dYxw2GdSvhf38CH7xTVODCPSEeeO9NmHUvtDoWfnQXXHYThPzm940VHoDXHoA3HoU92RAXD416QG/g7SfgrzdD32Fw/VgLXjXJZwHZ/A/7WQwkUEAL4ET28RbbeJYETiSZu2jIkFhHDYQCCpjBdBaziAPsJ0SILwCox/u8xwbmkk5vzmcQiSTGOK2+4qVYVbtIJMKbI0bw1q23kpuVBRSduSveHw5DJMIn06bxzBlnkJWZGauowbHsA/hBH1j0r6LnhYUQiRz874Ov/dbP4YGb4f9+9t99OjIH9sPvvgOv3FdU6gDChf/dHwlD+EDRmbw7T4etG2KTM0D28hbbuIT9LDm45cDX9hYe3LKOHVxLLk/VeL6g2cc+nuMZFjCfA+wHIELJ940DHGAhC3iWp9jL3ljEVBliWuzGjx9Pjx49SE5OJjk5mYyMDN56661yx0+cOJFQKFTi0aCBp4Frm/cfeohF48cfdlyksJD83bt54YIL2H2wAOoIZG2EERfCvryiQnc4L46FSY9FP1eQPT0CMv8JHKYghw/Aziy473zI31Mj0YKogA/ZwQ8pKnDhCkYWfT2y+RV7+WdNRAukCBEmM4ksvihV5soau4UtTOJFwhV+bVRTYlrs2rVrx0MPPcTixYtZtGgR5513HpdeeikrVqwo95jk5GSysrKKHxs2+JNwbZK/ezfvPfBApcdHCgvZt2sXC8aNi2KqgHvpUdizG8JVeFN98h7Y50/YR2TLenjnmcqf9QwfgKw1MOel6OYKsN38nqJCV9kzzSFyuP+wpURl+5RPWccnlX79IkTYwKesZ12Uk6kyYlrsLr74Yi666CI6d+7MSSedxIMPPkiTJk2YP39+uceEQiFSU1OLH61bO3elNln20kvs31u1whApLGTxk09SWFAQpVQBtncPTHmmcmfqvi43G2a8Gp1MQTd9AsRV8a0zFAdv/sFL4EegkC/YxzS+utxaOREOsJYC5kUrVqAtYD5xVawHccTxAeV/71bNqTVz7AoLC5k8eTJ5eXlkZGSUOy43N5cOHTrQvn37w57dU837z4svHtFxe3fsYP2771ZzmqPAvGlFZ+uqKi4O3jyyr9VRb/afS86nq4xIGDYuh89XRydTgO3ldTiila4J7OGv1R0n8Pazn49YUeXLqmHCrGYV+eRHKZkqK+arYpctW0ZGRgb79u2jSZMmTJkyhW7dupU5tkuXLjz33HP06NGD7OxsHn74Yfr27cuKFSto165dmcfk5+eTn//fv2g5OTlR+XOoyO7PPz/MWYkEttEOylgiv2D+FnJa7YxatkBasA32nlDma76SVEjdy8oWXcs+NiEZ9kU5XxA1bgcNU8vctbJRV6h/8N9ldZFNubh4sGp2E8deTqXkYokia/OaQ9OWrF2XBomlr97UpyFNo54wWHLJ5wvalLt/2zogfh9Q+r06QoQ97HGFbIyFIpHYXhsoKChg48aNZGdn89prr/HMM88we/bscsvd1+3fv5+0tDSuvPJK7r///jLH3HPPPdx7772ltmdnZ5OcnPyN86ukP5x4IjvXlT3PIovWTGYk2XSp4VRHr5Q7TiH7Rm8nU5NSFu4iO7tprGMcNZJe38judcfFOsZRJTnpX1zx3Duknlp638+4gxTrdLXLyckhJSWlUt0l5mfs6tevT6dOnQDo3bs3Cxcu5LHHHmPChAmHPbZevXr06tWLtWvXljtm9OjRjBo1qvh5Tk4O7du3/+bBVaZmJ5zArk8/LbqlySEixJFNmMt4iGPYVmr/xU89Tdve6TURMziWzoPf3VrmrpX7unLNxL/y4vKrSGuwquTOUDz0Oht+PrYGQgbMmEtgx2dl7lp5TFeuuWQSL750FWnbVpUeMPoNaN42ygGDZS9/ZzePUdbCibWrOnPbryfwx6dvplPamkP2xtOQoSQxokZyBkUhhTzL0xSWM6dx20qY+v19RMIhDv2axBNPIxrXQEpVJObF7lDhcLjEpdOKFBYWsmzZMi666KJyxyQmJpKY6GnhmtLrhhtY9847FYw4wDF8RltK3t4k5bjjGHLDuYSqOin9aNfjAngpD3ZsLWNnU9jYkLRPVpHeaEnp3bf9T1lXxHU4PfvCpF8XzZs7VARIhLR9q0jf/bXXPC4eup4FXSx1VRXmW2RxMxy8l1oJm4Bd0OmENZzS/T+ldrdiLPWiHTBw4skilUwWlz3PLj8EhaVf1Tji6EFP6vmKx1xMv4uOHj2aOXPm8Omnn7Js2TJGjx7NrFmzuPrqqwEYPnw4o0ePLh5/3333MX36dNatW0dmZibXXHMNGzZs4MYbb4zVH0GHSLvsMho2b16lY0JxcZx+662WuiORkADfG1H1VZrHtIFveXf+IzLgh0WrXKsiXAiDyz6zqorF0YyGXE7Rx6hU/qh69KYeJ0crVqCdQZ8jWjxxBn2ilEhVEdPvpFu3bmX48OF06dKFAQMGsHDhQqZNm8b5558PwMaNG8n62o1rd+7cyU033URaWhoXXXQROTk5zJ07t1Lz8VQz4uvX58LHKn/z27iEBJp36sRpN98cxVQBd+Vt0KYDxFfhBPydf/BzY49USiu44p7Kj4+Lh27nQJ/vRC1S0CVzByGSqNy3rBAQTwplz7vW4aXShl70prKrkUOE6EFPjqXsRYyqWTG9FPvss89WuH/WrFklno8dO5axY50TVNv1uOYa9mzfzrTbbycUH0+knHusheLjaXr88fxgxgwSXchy5JKbwZPvwI/Og62flX9Pu7j4osuHo5+A879bsxmD5vJfQe4O+Mf/FZ29K+uyLBTtO/E0+OXrVSveKiGBDhzDq2xjGBF2U/497eKBOJrzHImcUYMJg+cSLqWAfFaw/LBju9CVoVxWA6lUGV77UlScOXIk10ybxnFnnQUUlbi4hP9+Y0tMTqbPyJHc+MEHpBznirZvrN0J8OLCosuyDZsUbfuqSMQdPDPX+5yiAjjsx7HJGCShEFz3CNw+CY47eLkvLqFkeUtpBd+7C+79FzRuGpOYQVKfXrRiJg35HlCPorNJX73eISCOBlxAS96mIYNjljMo4olnGFcwhItpRjOgaB7d129c3JSmXMQQvs9VJNS+KftHLb8SipoTL7iAEy+4gC8/+ojVf/87H360E16A8+6/n8t+dhX1GjaMdcRgad4S7nwMbvstzHgN5ubCSuCKEXB9X+hwUqwTBs+3roSzvw9rF8KH0yFycEXg8Ich/VuQ4ETy6pRAB5rzR8Lcx16m0vDgve2a8GNSOYt4XJxSneKIow9ncgZ9WMc6NvIpK9gBfMS3uYSLOa3Kn1Ch6LPYKepadutGy27daJSZBS88ReeLLrLURVPDxnDJtdAO+B1wyXXQIcaZgiwUgs5nFD32AuuBU87z3TWK4mhGY64n6eDzRgyr0tIKVU2IECce/CeFLOAj2tPeUldL+VWRJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKiJgWu/Hjx9OjRw+Sk5NJTk4mIyODt956q8JjXn31Vbp27UqDBg045ZRTePPNN2sorSRJUu0W02LXrl07HnroIRYvXsyiRYs477zzuPTSS1mxYkWZ4+fOncuVV17JDTfcwJIlSxg6dChDhw5l+fLlNZxckiSp9olpsbv44ou56KKL6Ny5MyeddBIPPvggTZo0Yf78+WWOf+yxx7jwwgu54447SEtL4/777yc9PZ1x48bVcHJJkqTap9bMsSssLGTy5Mnk5eWRkZFR5ph58+YxcODAEtsGDRrEvHnzyv118/PzycnJKfGQJEkKopgXu2XLltGkSRMSExP58Y9/zJQpU+jWrVuZYzdv3kzr1q1LbGvdujWbN28u99cfM2YMKSkpxY/27dtXa35JkqTaIubFrkuXLixdupQPPviAW265hWuvvZaPPvqo2n790aNHk52dXfzYtGlTtf3akiRJtUlCrAPUr1+fTp06AdC7d28WLlzIY489xoQJE0qNTU1NZcuWLSW2bdmyhdTU1HJ//cTERBITE6s3tCRJUi0U8zN2hwqHw+Tn55e5LyMjg5kzZ5bYNmPGjHLn5EmSJB1NYnrGbvTo0QwePJjjjjuO3bt3M2nSJGbNmsW0adMAGD58OMceeyxjxowBYOTIkfTr149HHnmEIUOGMHnyZBYtWsRTTz0Vyz+GJElSrRDTYrd161aGDx9OVlYWKSkp9OjRg2nTpnH++ecDsHHjRuLi/ntSsW/fvkyaNInf/OY3/OpXv6Jz585MnTqVk08+OVZ/BEmSpFojpsXu2WefrXD/rFmzSm0bNmwYw4YNi1IiSZKkuqvWzbGTJEnSkbHYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmKnqAsXFrL5ww/5bMECAPZs2xbjREeBLV/AR0uK/nv9GgiHY5sn6AoLYNti+PKDouf7s2Ob5yiQy1a2sw6A3WwlQiTGiYKtgAI2Hfznq+eqnRJiHUDBtWf7dpY8+ywLxo0jZ9MmvqANcDMvXnghn11yOmfceisdBwwgFArFOmowRCLw3jR4cRzMfhP2ngpkwk+vgD/ugB/cBt/9IaQ0i3XS4MjdBKsmwKrxkL8DGveCHpnw1vmQ2hW63Qotz4h1ysAIU8gmPmA1b/Ilq1hPR+D3vMfv2c0BunARHTmHBBJjHTUwtvElC/iAxSxiP/vJIgTU4088zzbSOYMzaUWrWMfU11jsFBWfL1zISxdeyL5du4gccrYoEomw5p//ZPXrr9Nz+HAufvpp4uvXj1HSgCjIhzuvhTdfhvj4opL3dVkb4X/vgGf+F56dBt1OjUnMQNn0Jsz8LoQLIFJYcl/kAHzyF1j7AvT8NfS+H/wB5hspII/Z/I6tfERZF5uy+YwFTGAlf+c87qIJLWs+ZMAsZhF/ZyohQoQp+T5+gAMsYiELWcC3uZjT6ROjlDqUl2JV7bYsW8afzj2XfdnZpUrdV8IHDgDw4QsvMPX664kcWkRUeeEw/PRKeOvVoueFhaXHRCJFj13b4Zp+sG51zWYMmi9mwoxLoHBf6VL3lUjR33E+fBAy76q5bAF0gHze5QG+ZNXBLWW9rxS9h+SyhRn8hr3sqql4gbSETF5nChEipUrdV8KEiRDhH/ydxSys4YQqT6WL3RdffFHtv/mYMWM4/fTTSUpKolWrVgwdOpTVqyv+hjNx4kRCoVCJR4MGDao9m45MJBLhb1dfzYF9+4iUVTBKH8DySZP46NVXox8uqF5/EWZMgUgl5tEVFsLePLjzB9HPFVSF+fDuFQfPilbyB5KlD8CXC6IaK8g+4nW2s5ZIOQXj6yKE2ctOFvN8DSQLplxyeZ0pVTrm77xODs4trQ0qXey6d+/OpEmTqvU3nz17NiNGjGD+/PnMmDGD/fv3c8EFF5CXl1fhccnJyWRlZRU/NmzYUK25dOQ+mzePrcuWVa7UHRSKj+eDP/4xiqkC7k+PQlwVTr4XFsJ/Fv53cYWq5tO/Qv52yj5rVI5QAnz0eNQiBVmYA3zM21S6RFNU7jYyz7N2R2gxi45oMcoiFkUhjaqq0t8NHnzwQW6++WaGDRvGjh07quU3f/vtt7nuuuvo3r07PXv2ZOLEiWzcuJHFixdXeFwoFCI1NbX40bp162rJo29u0fjxxCVUbepmpLCQTe+/z5cffRSlVAG2IrOooFV11Wt8AvxlfHQyBd1H4yBUxVkskQOw7i9FCyxUJZ+xiHxyqnxchAif8G4UEgVbmDALmF/lYhchwgI+KPeyrWpOpb8D/7//9/8YPHgwN9xwA926dePpp5/m4osvrtYw2dlFp3GbN29e4bjc3Fw6dOhAOBwmPT2d3/72t3Tv3r3Msfn5+eTn5xc/z8mp+huEKu/zRYuK58+VJbXFbtq32F/mtOZdH02l5XH7ohcuiNa8Dh3K3tUwfw9dk1YQ7gC59RuWHpC3CIrnLKnSIqugedmrLsMN4aQdy4lbv4d9ew/dux/m/B1a9Ih6xCDZxbs0JocIpa8CNFvZiA4sJbJyC/vYecjeEBt5nxYcXyM5g2Ife9nNmnL311sJTWgGlJ4CtYc88sgjiaQoJtThhCJHMGt93Lhx/PSnPyUtLY2EQ87OZGZmHlGQcDjMJZdcwq5du3j//ffLHTdv3jzWrFlDjx49yM7O5uGHH2bOnDmsWLGCdu3alRp/zz33cO+995banp2dTXJy8hFlVfnGHnccOZs2lbkvi9Z0/WEqt//wwxpOdfSak30m8Rftj3WMo0r+T/bR/o8rYh3jqDEppSdk+55Sk5Z0OIdWU88m9dTS+25nFM1pUeOZgi4nJ4eUlJRKdZcq3+5kw4YN/O1vf6NZs2ZceumlpYrdkRoxYgTLly+vsNQBZGRkkJGRUfy8b9++pKWlMWHCBO6///5S40ePHs2oUaOKn+fk5NC+fftqyazSGjZrVm6xixDH714fSO77n9OS0jcpPv93v+OEgQOjHTFYZr0Jj/1PubvPjF9EwVP1yt7ZpQf8bmJ0cgXZG/3gwO5yd8d1KSCuvC9JvxehWVp0cgXUWt5hLTPKXDjxxcoUnr+mHze8OJu2aSUn7oeIow2ncipX1lTUQMgnn+d4ptz921bCzGua8f1wiLLmPTagjKsDqlFVamVPP/00P/vZzxg4cCArVqygZcvquU/QrbfeyhtvvMGcOXPKPOtWkXr16tGrVy/Wrl1b5v7ExEQSE71ZZU3pPGQIW1esKHfxxObtSWzaXq/URZW4hARan3U9NPHeU1VyWmvYdHe5c+zqc4D6lHFpPC4Ozh8CdI1uviBqdG7RAopIOVMOGlD25fHEFtB/GMR7z8aqSKUJH1L2iuKdNGcDJxBKW0GD9NLzHrvwbdqQHu2IgdOWJWTxRZnz7PYTIpd6QMkrASFCtKI1DS12MVfpGcAXXnghv/jFLxg3bhx/+9vfqqXURSIRbr31VqZMmcK7775Lx44dq/xrFBYWsmzZMtq0afON8+ib633zzeXeu648cQkJdL/iChpX0w8KR5XUY2HApUWLIaokBMNujEqkwOs2ovxSV55QPKTdYqk7Ai3oTFM6AFW7wXM9GtOBjMMPVClnknFEiycyyCBUxa+Tql+li11hYSH/+c9/GD58eLX95iNGjODFF19k0qRJJCUlsXnzZjZv3szevf+ddTx8+HBGjx5d/Py+++5j+vTprFu3jszMTK655ho2bNjAjTf6Tao2aNqhA90uv5xQfHyljwkXFnLm7bdHL1TQ/fBnEK787WWIi4dLroJW/jB0RFqfDS3Si25hUikhiKsPXW+OaqygChGiO9+hKrc7AejKEOKxSB+J7pxMEkmVLmkhQjSmMSfjwqDaoNLFbsaMGVW+THo448ePJzs7m/79+9OmTZvix8svv1w8ZuPGjWRlZRU/37lzJzfddBNpaWlcdNFF5OTkMHfuXLp161at2XTkLnn2WVqmpVW63H37ySdpe9ppUU4VYL3Pgl8/WrmxcfHQtSfc461OjlgoBOe/Dg1aVqLcxRXdGmXAa9C4et8/jybHczZdqexdGEIcS29O5vKoZgqyetTjB1xLPeoRd5iaECJEAgn8gGupb5GuFWL6WbGVWZA7a9asEs/Hjh3L2LFjo5RI1SExOZnr33uPv155JWvffpu4hITSt0AJhajXqBEXP/UUp1x1VWyCBsnwn0DjJLhnBBQcvGXM1///ik+AwgPQ/yJ4+CVo1Dg2OYOicTu4dAHMuBS2ZxYVvK9fng3FF33UWGIzOO9laDsgdlkDIp3hJNKE//DKwYUUJb9/hIgjQphODOB0biSOyl81UGmptOFH/JiXeIGd7CREqMTl2TiKFk+kkMJV/IBUUmMXViXEtNgpuBo0bcrVb73F5g8/ZNH48Xz02muEdsZBGFp07sy3f34Pp1x1FfWbNIl11OC4/HoYdHnRR4xNGg8b18KB/ZDcDAZ/D666BU46OdYpg6NxO7h0EWz5N6x8HDa9VbRaNr4BND8Vut0Kx18G8S7eqg4hQpzM5XRiIJ/wLmt5h7iDK2UbkEwa/ejMQJrgDeurSytaM5JRrGUNHzCfDXxK6OCiiWNpxxX0ozMnHfasnmrWEd3Hri6ryr1gVL0yM7Po3fspFi/+Eenpzu+S9M1kZu6id+/3WLz4W6SnN411nKOC7+OxUZXuYs2WJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKiJgWuzFjxnD66aeTlJREq1atGDp0KKtXrz7sca+++ipdu3alQYMGnHLKKbz55ps1kFaSJKl2i2mxmz17NiNGjGD+/PnMmDGD/fv3c8EFF5CXl1fuMXPnzuXKK6/khhtuYMmSJQwdOpShQ4eyfPnyGkwuSZJU+yTE8jd/++23SzyfOHEirVq1YvHixZxzzjllHvPYY49x4YUXcscddwBw//33M2PGDMaNG8eTTz4Z9cySJEm1Va2aY5ednQ1A8+bNyx0zb948Bg4cWGLboEGDmDdvXlSzSZIk1XYxPWP3deFwmNtvv52zzjqLk08+udxxmzdvpnXr1iW2tW7dms2bN5c5Pj8/n/z8/OLnOTk51RNYkiSplqk1Z+xGjBjB8uXLmTx5crX+umPGjCElJaX40b59+2r99SVJkmqLWlHsbr31Vt544w3+9a9/0a5duwrHpqamsmXLlhLbtmzZQmpqapnjR48eTXZ2dvFj06ZN1ZZbkiSpNolpsYtEItx6661MmTKFd999l44dOx72mIyMDGbOnFli24wZM8jIyChzfGJiIsnJySUekiRJQRTTOXYjRoxg0qRJvP766yQlJRXPk0tJSaFhw4YADB8+nGOPPZYxY8YAMHLkSPr168cjjzzCkCFDmDx5MosWLeKpp56K2Z9DkiSpNojpGbvx48eTnZ1N//79adOmTfHj5ZdfLh6zceNGsrKyip/37duXSZMm8dRTT9GzZ09ee+01pk6dWuGCC0mSpKNBTM/YRSKRw46ZNWtWqW3Dhg1j2LBhUUgkSZJUd9WKxROSJEn65ix2kiRJAWGxkyRJCgiLnSRJUkBY7CRJkgLCYidJkhQQFjtJkqSAsNhJkiQFhMVOkiQpICx2kiRJAWGxkyRJCgiLnSRJUkBY7CRJkgLCYidJkhQQFjtJkqSAsNhJkiQFhMVOkiQpICx2kiRJAWGxkyRJCgiLnSRJUkBY7CRJkgLCYidJkhQQFjtJkqSAsNhJkiQFhMVOkiQpICx2kiRJAWGxkyRJCgiLnSRJUkBY7CRJkgLCYidJkhQQFjtJkqSAsNhJkiQFREKsAyjY9u7cyYd/+hMr//Y3Vm3cD1zIzF//mhajr+O4b32LUCgU64iS6pAwhXzCCpbxAf8hF+jEdF6hPj3pQi/qUT/WEQNnB9tZyALWs5615AEwl/fpwLm04JgYp9OhLHaKivCBA8z4xS9Y+PjjFBYUQCTCLtoAsG7GDCa+/TwtunTh0uefp31GRozTSqoLVrOEmbxGHrsJEcdOGgOd2MxG3mI5M/krZzGY3vQnhD80flO55DKFv7KGjwkRIkKEbEJAPZbxH7aylE504jt8lySSYh1XB3kpVtWucP9+Jg8dyvyxYynMz4dIpMT+cGEhADvWrGFiv36snTYtFjEl1SFLeZ+/8zx57AYgQrh4X4Si95gC9vEvpvAvphRv05HJIZsJPMEnrAUo9XqGDz5fxzom8ATZ7KrpiCpHTIvdnDlzuPjii2nbti2hUIipU6dWOH7WrFmEQqFSj82bN9dMYFXKjDvuYM2bb5YqdIeKhMOECwt5+TvfYcfatTWUTlJds4GPmcGrlR6/mFn8h3lRTBRsYcK8wJ/ZzW7CXyvQ5Y3NJZc/M5FCCmsooSoS02KXl5dHz549efzxx6t03OrVq8nKyip+tGrVKkoJVVV7tm1j4RNPHLbUFQuHCe/fzwd/+EN0g0mqs+YxrcoXVufy9mFLicq2ho/ZwuZKv35hwnzJl6xmVZSTqTJiOsdu8ODBDB48uMrHtWrViqZNm1Z/IH1jS55/nkhh1X5qCx84wJLnnmPAb39L/SZNopRMUl20nS1sYk2Vj8tlF+tZyYl0j0KqYPuAecVz6iorRIgPmE83X++Yq5Nz7E499VTatGnD+eefz7///e9Yx9HXfPTKK0TCVf8peX9eHuvffTcKiSTVZWv5zxEthAgRx8csrf5AAVdAAWtZW+U5ihEirGcd+9gXpWSqrDq1KrZNmzY8+eSTnHbaaeTn5/PMM8/Qv39/PvjgA9LT08s8Jj8/n/z8/OLnOTk5NRX3qJS3desRH7tn27ZqTCIpCPaSR4g4IuXO3wqzdWUDKHP/XlqzI4rpgmc3uWTRoNz921Z+VbL3l7l/L3toUMHxir46Vey6dOlCly5dip/37duXTz75hLFjx/LCCy+UecyYMWO49957ayriUS8+MbHcfSHCdOBTQuXM24iv7/2nJJUUX8G3qVDcfpp22M7ka06o4Fd4q/pDBV5Fryckd9hOKG5vmfviiY9GIFVBnSp2ZTnjjDN4//33y90/evRoRo0aVfw8JyeH9u3b10S0o9IxXbuyc926MufZRYhjA8cTKWcGQPPOnaMdT1Id04yWhMs5WxcJF7Jrww6+/+IuWqUdKLEvRBwncwbpnFMTMQMjTJjneYaCcs7IbVsZYuo1EAmH4JDLtfWoTyMa10BKVaTOF7ulS5fSpk2bcvcnJiaSWMFZJFWv3jffzMf/+EfVDgqFaJmWxrFnnBGdUJLqrJM4lXd4lf0UlDMiTKu0vbRLL11ELucsmtE8ugEDaDs9mcu/y5lnV3SD4tJb4+hNbxLqfq2o82L6FcjNzWXt1+5ftn79epYuXUrz5s057rjjGD16NJ9//jl//vOfAXj00Ufp2LEj3bt3Z9++fTzzzDO8++67TJ8+PVZ/BB2i04UXkty+Pbs//7xKiyjOuO02P15MUin1SeQUMljCeyVuSlyREHF04CSa0TLK6YLpdM7g35R/JawsEcKcTp8oJVJVxHRV7KJFi+jVqxe9evUCYNSoUfTq1Yu77roLgKysLDZu3Fg8vqCggJ/97Geccsop9OvXjw8//JB33nmHAQMGxCS/SouLj+eSZ5+FUKjocRih+Hja9+3LqddfXwPpJNVFGVxAEk0JVeJbVogQ9ajHeVxWA8mCqTkt6M+5VTrmW5xDS4t0rRDTM3b9+/cnUsGNbCdOnFji+Z133smdd94Z5VT6pk48/3y++/LL/PXKKyESIXzgQOlBB0tfuzPP5Mp//IMEL5dLKkcjkriC23iFceSwo9xbcYSIoz6JfJdbaEFqDacMlnMZwH4O8G/eK/eedl9tP5O+DOD8GKRUWbwYrqjodvnlHJOZybxHHmHZpEkUFpScH9O8Uyf6/OQnpN90k6VO0mE1pQXDuYNM5rCE99hz8DNjv1KfRHrQl970J5lmMUoZHCFCDOJCOtKRufybdXxSaszxdCSDvnQlLQYJVZ5QpKJTZgGUk5NDSkoK2dnZJCcnxzrOUWHvjh18Mn06S5ZuYfjvdvHGM6dz0Q8HO6dO0hEJU8gGVvNB5iau7P0hf1ucwbfT+1APb5kULdvZxkY28p/ML7mu93zeWTyMAendYh3rqFGV7lInP3lCdUvD5s05+fvfp/v3vgdAm169LHWSjlgc8XSkGyfRE4AOdLbURVkLjqEX6ZxCDwCaeVa01rLYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBURMi92cOXO4+OKLadu2LaFQiKlTpx72mFmzZpGenk5iYiKdOnVi4sSJUc8pSZJUF8S02OXl5dGzZ08ef/zxSo1fv349Q4YM4dxzz2Xp0qXcfvvt3HjjjUybNi3KSSVJkmq/hFj+5oMHD2bw4MGVHv/kk0/SsWNHHnnkEQDS0tJ4//33GTt2LIMGDYpWTEmSpDqhTs2xmzdvHgMHDiyxbdCgQcybN6/cY/Lz88nJySnxkCRJCqI6Vew2b95M69atS2xr3bo1OTk57N27t8xjxowZQ0pKSvGjffv2NRFVkiSpxtWpYnckRo8eTXZ2dvFj06ZNsY4kSZIUFTGdY1dVqampbNmypcS2LVu2kJycTMOGDcs8JjExkcTExJqIJ0mSFFN16oxdRkYGM2fOLLFtxowZZGRkxCiRJElS7RHTYpebm8vSpUtZunQpUHQ7k6VLl7Jx40ag6DLq8OHDi8f/+Mc/Zt26ddx5552sWrWKJ554gldeeYWf/vSnsYgvSZJUq8S02C1atIhevXrRq1cvAEaNGkWvXr246667AMjKyioueQAdO3bkn//8JzNmzKBnz5488sgjPPPMM97qRJIkiRjPsevfvz+RSKTc/WV9qkT//v1ZsmRJFFNJkiTVTXVqjp0kSZLKZ7GTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAVEQqwDKPjyc3JY/+67rMzMAuDLjz4i0iuVUCgU42SS6qIIYTawjo/ZCMAm1tODY0jwW1rU7GIXm9jISrYCkEMO0Ca2oVQm/y9Q1GxbvZoPHnuMpRMncmDvXr6gDXAzf/vBD1j3v8fQ5yc/oee11xJfr16so0qqA/LZx2LmsYh/k8MuviABaM40Xmctb9GLMzmds0kiOdZRA+MTPmEe/+ZjVgOQRQiox0u8wCY6k0FfOtE5tiFVgsVOUbH6H//g1WHDiBQWEj5woNT+rStW8I+bbmLZSy/x/ddfJzHZN2JJ5ctmJy/xFDvZRoRIqf172cM8/sUS5nMVP6IN7WKQMjgiRHiXd5jNLOLKmbW1ljWs4WPO5hzO5wJCeBWmNnCOnardp7Nm8cpll1FYUFBmqQMgHAZgw3vvMfnSSyksKKjBhJLqkr3s4UWeZCfbyyx1X4kQYR97eZEn2cGXNZgweOYwm9nMAiBMuMwxX30t3mcO/+Ldmoqmw6gVxe7xxx/n+OOPp0GDBvTp04cFCxaUO3bixImEQqESjwYNGtRgWlUkEg7z+vXXEwmHIVL+G3Dx+MJCPp01iw///OcaSCepLnqfd9jFDiLlFIyvixChgAKm8XoNJAumnexkJjOqdMws3mU726KUSFUR82L38ssvM2rUKO6++24yMzPp2bMngwYNYuvWreUek5ycTFZWVvFjw4YNNZhYFflkxgx2ffppUbGrrLg4PvjDH4hUoghKOrrsp4AlfFDhmbpDRQjzCavYxY4oJguuRSyo8mXVECEWUv5JGdWcmBe7//u//+Omm27i+uuvp1u3bjz55JM0atSI5557rtxjQqEQqampxY/WrVvXYGJVZPGTTxKXUMWpm+EwW5ctI2vx4uiEklRnrWQZBeRX+bgQIZZaNKosTJiFLKxSkYaiM6WLWEghhVFKpsqK6eKJgoICFi9ezOjRo4u3xcXFMXDgQObNm1fucbm5uXTo0IFwOEx6ejq//e1v6d69e5lj8/Pzyc//75tCTk5O9f0BVMrWjz4qf17dYWxbvZq2p51WzYkk1WXb2Uoc8YQrKAxfrowvY2uIhXxOMpujFy6A9rKP9eRT3nmfbSvLP5NXQAF55JHsquSYimmx27ZtG4WFhaXOuLVu3ZpVq1aVeUyXLl147rnn6NGjB9nZ2Tz88MP07duXFStW0K5d6VVQY8aM4d57741KfpVWuG9fufuS2E0/ZpHE7rKPza/6T+WSgq2Q8n9QTGoT5vh+Bbx2TUo5I7YDzt+tuqQK9x7Xr4Ambcpe8FbR10s1o87d7iQjI4OMjIzi53379iUtLY0JEyZw//33lxo/evRoRo0aVfw8JyeH9u3b10jWo1Gjli3J3rixzH1J5HLuwVVWZWnYvHmUUkmqqxrSuNxFE0ltwnzvLznszip9dilEiE6k0Y8Loh0xUPZzgGeYUOGYJm0iJJVzb+KGNIpCKlVFTIvdMcccQ3x8PFu2bCmxfcuWLaSmplbq16hXrx69evVi7dq1Ze5PTEwkMTHxG2dV5aRdfjmblyyp2uIJIKFhQzoOGBClVJLqqpPoxr94s9z9SW3CJLUp+/3mItLpQuW+l+i/VtKR9ayr0jy7ECGO4zga4F0qYi2miyfq169P7969mTlzZvG2cDjMzJkzS5yVq0hhYSHLli2jTRs/2qQ2SL/hBkJxVftrFZeQwKnXX09iUsWn/yUdfVqSSns6VnmVZhOS6ExalFIFWx/OPKLFE32o3PdtRVfMV8WOGjWKp59+mj/96U+sXLmSW265hby8PK6//noAhg8fXmJxxX333cf06dNZt24dmZmZXHPNNWzYsIEbb7wxVn8EfU3jVq3o/aMfVb7chULEJSTQ5yc/iW4wSXXW2QysctE4m4HEUdaiCh3OSXShJS3L/cSJQ8URRwtakEa3KCdTZcR8jt0VV1zBl19+yV133cXmzZs59dRTefvtt4sXVGzcuJG4r5WEnTt3ctNNN7F582aaNWtG7969mTt3Lt26+Reqthg0dizbP/6Y9e++W+El2VBcHKG4OIa9+irHdOlSgwkl1SUn0oULuJTplbzpcG/60pu+UU4VXPHE8wOu42meJI+8cj95AopKXSMaMZzriLdI1wqhyFF2V9icnBxSUlLIzs4m2c8njZrCggKm/fSnLH7qKSLhcImCF5eQQPjAAZoefzyXPv88x/fvH7ugkuqMZSxmOq+zlz2ECJU6i1ePepzN+fTlXD+3tBrkkMNfeZX1rCOOuBIF76vnHTie7/I9UihvZbKqQ1W6i8VOUZW3dStLnnuOj157jT3btpHQoAEtu3XjtB//mBMGDqzyfDxJR7dCDrCK5SzlA3axgzARkkjmFHpzCunUx8Vy1W0rW1nIB6xnHfnkk0gix9OR0+lDa/yAgJpgsauAxU6SJNUlVekuni6RJEkKCIudJElSQFjsJEmSAsJiJ0mSFBAWO0mSpICw2EmSJAWExU6SJCkgLHaSJEkBYbGTJEkKiIRYB6hpX33QRk5OToyTSJIkHd5XnaUyHxZ21BW73bt3A9C+ffsYJ5EkSaq83bt3k5KSUuGYo+6zYsPhMF988QVJSUmEQqFYxzkiOTk5tG/fnk2bNvl5tzXA17tm+XrXPF/zmuXrXfPq+mseiUTYvXs3bdu2JS6u4ll0R90Zu7i4ONq1axfrGNUiOTm5Tv4Frat8vWuWr3fN8zWvWb7eNa8uv+aHO1P3FRdPSJIkBYTFTpIkKSAsdnVQYmIid999N4mJibGOclTw9a5Zvt41z9e8Zvl617yj6TU/6hZPSJIkBZVn7CRJkgLCYidJkhQQFjtJkqSAsNjVMY8//jjHH388DRo0oE+fPixYsCDWkQJrzpw5XHzxxbRt25ZQKMTUqVNjHSnQxowZw+mnn05SUhKtWrVi6NChrF69OtaxAm38+PH06NGj+N5eGRkZvPXWW7GOddR46KGHCIVC3H777bGOEkj33HMPoVCoxKNr166xjhV1Frs65OWXX2bUqFHcfffdZGZm0rNnTwYNGsTWrVtjHS2Q8vLy6NmzJ48//nisoxwVZs+ezYgRI5g/fz4zZsxg//79XHDBBeTl5cU6WmC1a9eOhx56iMWLF7No0SLOO+88Lr30UlasWBHraIG3cOFCJkyYQI8ePWIdJdC6d+9OVlZW8eP999+PdaSoc1VsHdKnTx9OP/10xo0bBxR9PFr79u257bbb+OUvfxnjdMEWCoWYMmUKQ4cOjXWUo8aXX35Jq1atmD17Nuecc06s4xw1mjdvzu9//3tuuOGGWEcJrNzcXNLT03niiSd44IEHOPXUU3n00UdjHStw7rnnHqZOncrSpUtjHaVGecaujigoKGDx4sUMHDiweFtcXBwDBw5k3rx5MUwmRUd2djZQVDQUfYWFhUyePJm8vDwyMjJiHSfQRowYwZAhQ0q8nys61qxZQ9u2bTnhhBO4+uqr2bhxY6wjRd1R91mxddW2bdsoLCykdevWJba3bt2aVatWxSiVFB3hcJjbb7+ds846i5NPPjnWcQJt2bJlZGRksG/fPpo0acKUKVPo1q1brGMF1uTJk8nMzGThwoWxjhJ4ffr0YeLEiXTp0oWsrCzuvfdevvWtb7F8+XKSkpJiHS9qLHaSap0RI0awfPnyo2I+TKx16dKFpUuXkp2dzWuvvca1117L7NmzLXdRsGnTJkaOHMmMGTNo0KBBrOME3uDBg4v/u0ePHvTp04cOHTrwyiuvBHqqgcWujjjmmGOIj49ny5YtJbZv2bKF1NTUGKWSqt+tt97KG2+8wZw5c2jXrl2s4wRe/fr16dSpEwC9e/dm4cKFPPbYY0yYMCHGyYJn8eLFbN26lfT09OJthYWFzJkzh3HjxpGfn098fHwMEwZb06ZNOemkk1i7dm2so0SVc+zqiPr169O7d29mzpxZvC0cDjNz5kznwygQIpEIt956K1OmTOHdd9+lY8eOsY50VAqHw+Tn58c6RiANGDCAZcuWsXTp0uLHaaedxtVXX83SpUstdVGWm5vLJ598Qps2bWIdJao8Y1eHjBo1imuvvZbTTjuNM844g0cffZS8vDyuv/76WEcLpNzc3BI/2a1fv56lS5fSvHlzjjvuuBgmC6YRI0YwadIkXn/9dZKSkti8eTMAKSkpNGzYMMbpgmn06NEMHjyY4447jt27dzNp0iRmzZrFtGnTYh0tkJKSkkrNGW3cuDEtWrRwLmkU/PznP+fiiy+mQ4cOfPHFF9x9993Ex8dz5ZVXxjpaVFns6pArrriCL7/8krvuuovNmzdz6qmn8vbbb5daUKHqsWjRIs4999zi56NGjQLg2muvZeLEiTFKFVzjx48HoH///iW2P//881x33XU1H+gosHXrVoYPH05WVhYpKSn06NGDadOmcf7558c6mvSNffbZZ1x55ZVs376dli1bcvbZZzN//nxatmwZ62hR5X3sJEmSAsI5dpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZOkI1RYWEjfvn257LLLSmzPzs6mffv2/PrXv45RMklHKz9STJK+gY8//phTTz2Vp59+mquvvhqA4cOH8+GHH7Jw4ULq168f44SSjiYWO0n6hv7whz9wzz33sGLFChYsWMCwYcNYuHAhPXv2jHU0SUcZi50kfUORSITzzjuP+Ph4li1bxm233cZvfvObWMeSdBSy2ElSNVi1ahVpaWmccsopZGZmkpCQEOtIko5CLp6QpGrw3HPP0ahRI9avX89nn30W6ziSjlKesZOkb2ju3Ln069eP6dOn88ADDwDwzjvvEAqFYpxM0tHGM3aS9A3s2bOH6667jltuuYVzzz2XZ599lgULFvDkk0/GOpqko5Bn7CTpGxg5ciRvvvkmH374IY0aNQJgwoQJ/PznP2fZsmUcf/zxsQ0o6ahisZOkIzR79mwGDBjArFmzOPvss0vsGzRoEAcOHPCSrKQaZbGTJEkKCOfYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQoIi50kSVJAWOwkSZICwmInSZIUEBY7SZKkgLDYSZIkBYTFTpIkKSAsdpIkSQFhsZMkSQqI/w94Z3GMjqA8OwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = op.visualization.plot_connections(network=pn, color_by=flow.rate(throats=pn.Ts, mode='single'))\n",
    "op.visualization.plot_coordinates(network=pn, color_by=flow.x, ax=ax, markersize=100)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
